Traditional approaches to application design may be based on various assumptions such as the existence of a pre-determined infrastructure and the ability to exercise control over aspects of the application including hardware, databases, and deployment configurations with other software and applications. In contrast, these assumptions may not be the case in cloud computing. For example, in various cloud applications, the infrastructure may be capable of changing dynamically as an application executes. Further, in some cases, the application designed may not be able to exert as much control over every component associated with an application as well as other applications that may share resources with the application being developed. Faults, errors, and other anomalies originating from one application or infrastructure may adversely impact other unrelated cloud applications which are sharing the impacted resources. As such, it would be desirable to provide a method and system capable of avoiding or reducing such adverse impacts while providing application developers with the flexibility of the cloud.